/*
 * PaginaTeste.java
 *
 * Created on 27/07/2009, 17:01:45
 * Copyright LAS
 */
package Soligee.view;

import Soligee.controller.bo.NFEntradaBO;
import Soligee.controller.facade.sessionFacadeImplements.SessionFacadeBuscarImplements;
import Soligee.controller.facade.sessionFacadeImplements.SessionFacadeCadastrarImplements;
import Soligee.decorador.DecoradorInicializaCombos;
import Soligee.decorador.DecoradorNF;
import Soligee.decorador.PaginacaoListaCincoEmCinco;
import Soligee.decorador.ValidaCamposObrigatorios;
import Soligee.model.vo.cadastros.ProdutoVO;
import Soligee.model.vo.lancamentos.ItensNFEntradaVO;
import Soligee.model.vo.lancamentos.NFEntradaVO;
import com.icesoft.faces.component.ext.HtmlCommandButton;
import com.icesoft.faces.component.ext.HtmlCommandLink;
import com.icesoft.faces.component.ext.HtmlDataTable;
import com.icesoft.faces.component.ext.HtmlInputText;
import com.icesoft.faces.component.ext.HtmlOutputText;
import com.icesoft.faces.component.ext.HtmlPanelGroup;
import com.icesoft.faces.component.ext.HtmlSelectBooleanCheckbox;
import com.icesoft.faces.component.ext.HtmlSelectOneMenu;
import com.icesoft.faces.component.jsfcl.data.DefaultSelectedData;
import com.icesoft.faces.component.jsfcl.data.DefaultTableDataModel;
import com.icesoft.faces.component.jsfcl.data.PopupBean;
import com.icesoft.faces.component.jsfcl.data.SelectInputDateBean;
import com.icesoft.faces.component.panellayout.PanelLayout;
import com.icesoft.faces.component.panelpopup.PanelPopup;
import com.icesoft.faces.component.paneltabset.PanelTab;
import com.icesoft.faces.component.paneltabset.PanelTabSet;
import com.icesoft.faces.component.selectinputdate.SelectInputDate;
import com.icesoft.faces.component.selectinputtext.SelectInputText;
import com.sun.rave.faces.converter.SqlDateConverter;
import com.sun.rave.faces.data.DefaultSelectItemsArray;
import com.sun.rave.web.ui.appbase.AbstractPageBean;
import javax.faces.FacesException;
//import Soligee.view.SessionBean1;
//import Soligee.view.ApplicationBean1;
//import Soligee.view.RequestBean1;
import com.icesoft.faces.component.jsfcl.data.DefaultSelectionItems;
import com.icesoft.faces.context.effects.Highlight;
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import javax.faces.convert.DoubleConverter;
import javax.faces.event.ValueChangeEvent;
import javax.faces.model.SelectItem;
import java.text.DecimalFormat;

public class CadastrarNotaFiscal extends AbstractPageBean {

    // <editor-fold defaultstate="collapsed" desc="Managed Component Definition">
    private int __placeholder;

    //formatar a saida do double
    //DecimalFormat digitos = new java.text.DecimalFormat("0.00");

    private DefaultSelectionItems item; //item do autocomplete
    //decorador da tabela de itens
    private static List<DecoradorNF> listaDecoradora = new ArrayList();
    //atributo necessario para paginacao da tabela de itens
    private static PaginacaoListaCincoEmCinco paginacaoTabelaItens;
    //variavel necessaria para realizar calculos negocio
    private static NFEntradaBO nfEntradaBo;
    //cria uma lista de itens a serem cadastrados para essa nota
    private static List<ItensNFEntradaVO> listaItensNfentrada = new ArrayList();
    //cria uma lista de produtos para serem adicinados na chave composta quando cadastrar
    private static List<ProdutoVO> listaProdutos = new ArrayList();
    //Validador de Campos Obrigatórios
    private ValidaCamposObrigatorios valida = new ValidaCamposObrigatorios();
    /**
     * <p>Automatically managed component initialization.  <strong>WARNING:</strong>
     * This method is automatically generated, so any user-specified code inserted
     * here is subject to being replaced.</p>
     */
    private void _init() throws Exception {
    }
    private SelectInputText campoABuscar = new SelectInputText();

    public SelectInputText getCampoABuscar() {
        return campoABuscar;
    }

    public void setCampoABuscar(SelectInputText sit) {
        this.campoABuscar = sit;
    }
    private HtmlInputText campoValorUnitario = new HtmlInputText();

    public HtmlInputText getCampoValorUnitario() {
        return campoValorUnitario;
    }

    public void setCampoValorUnitario(HtmlInputText hit) {
        this.campoValorUnitario = hit;
    }
    private PanelTabSet painelAbasNotaFiscal = new PanelTabSet();

    public PanelTabSet getPainelAbasNotaFiscal() {
        return painelAbasNotaFiscal;
    }

    public void setPainelAbasNotaFiscal(PanelTabSet pts) {
        this.painelAbasNotaFiscal = pts;
    }
    private DefaultTableDataModel dataTable1Model = new DefaultTableDataModel();

    public DefaultTableDataModel getDataTable1Model() {
        return dataTable1Model;
    }

    public void setDataTable1Model(DefaultTableDataModel dtdm) {
        this.dataTable1Model = dtdm;
    }
    private HtmlDataTable tabelaItens = new HtmlDataTable();

    public HtmlDataTable getTabelaItens() {
        return tabelaItens;
    }

    public void setTabelaItens(HtmlDataTable hdt) {
        this.tabelaItens = hdt;
    }
    private HtmlCommandButton buttonAdicionarItem = new HtmlCommandButton();

    public HtmlCommandButton getButtonAdicionarItem() {
        return buttonAdicionarItem;
    }

    public void setButtonAdicionarItem(HtmlCommandButton hcb) {
        this.buttonAdicionarItem = hcb;
    }
    private HtmlInputText campoQuantidade = new HtmlInputText();

    public HtmlInputText getCampoQuantidade() {
        return campoQuantidade;
    }

    public void setCampoQuantidade(HtmlInputText hit) {
        this.campoQuantidade = hit;
    }
    private HtmlCommandLink linkFinalizarNota = new HtmlCommandLink();

    public HtmlCommandLink getLinkFinalizarNota() {
        return linkFinalizarNota;
    }

    public void setLinkFinalizarNota(HtmlCommandLink hcl) {
        this.linkFinalizarNota = hcl;
    }
    private HtmlCommandButton tabelaItensFooterLastButton = new HtmlCommandButton();

    public HtmlCommandButton getTabelaItensFooterLastButton() {
        return tabelaItensFooterLastButton;
    }

    public void setTabelaItensFooterLastButton(HtmlCommandButton hcb) {
        this.tabelaItensFooterLastButton = hcb;
    }
    private HtmlCommandButton tabelaItensFooterNextButton = new HtmlCommandButton();

    public HtmlCommandButton getTabelaItensFooterNextButton() {
        return tabelaItensFooterNextButton;
    }

    public void setTabelaItensFooterNextButton(HtmlCommandButton hcb) {
        this.tabelaItensFooterNextButton = hcb;
    }
    private HtmlCommandButton tabelaItensFooterPreviousButton = new HtmlCommandButton();

    public HtmlCommandButton getTabelaItensFooterPreviousButton() {
        return tabelaItensFooterPreviousButton;
    }

    public void setTabelaItensFooterPreviousButton(HtmlCommandButton hcb) {
        this.tabelaItensFooterPreviousButton = hcb;
    }
    private HtmlCommandButton tabelaItensFooterFirstButton = new HtmlCommandButton();

    public HtmlCommandButton getTabelaItensFooterFirstButton() {
        return tabelaItensFooterFirstButton;
    }

    public void setTabelaItensFooterFirstButton(HtmlCommandButton hcb) {
        this.tabelaItensFooterFirstButton = hcb;
    }
    private javax.faces.component.html.HtmlCommandButton buttonRemoverItem = new javax.faces.component.html.HtmlCommandButton();

    public javax.faces.component.html.HtmlCommandButton getButtonRemoverItem() {
        return buttonRemoverItem;
    }

    public void setButtonRemoverItem(javax.faces.component.html.HtmlCommandButton hcb) {
        this.buttonRemoverItem = hcb;
    }
    private HtmlInputText campoIdNota = new HtmlInputText();

    public HtmlInputText getCampoIdNota() {
        return campoIdNota;
    }

    public void setCampoIdNota(HtmlInputText hit) {
        this.campoIdNota = hit;
    }
    private SelectInputDateBean selectInputDate1Bean = new SelectInputDateBean();

    public SelectInputDateBean getSelectInputDate1Bean() {
        return selectInputDate1Bean;
    }

    public void setSelectInputDate1Bean(SelectInputDateBean sidb) {
        this.selectInputDate1Bean = sidb;
    }
    private SelectInputDateBean selectInputDateBean2 = new SelectInputDateBean();

    public SelectInputDateBean getSelectInputDateBean2() {
        return selectInputDateBean2;
    }

    public void setSelectInputDateBean2(SelectInputDateBean sidb) {
        this.selectInputDateBean2 = sidb;
    }
    private DefaultSelectedData selectOneMenu1Bean = new DefaultSelectedData();

    public DefaultSelectedData getSelectOneMenu1Bean() {
        return selectOneMenu1Bean;
    }

    public void setSelectOneMenu1Bean(DefaultSelectedData dsd) {
        this.selectOneMenu1Bean = dsd;
    }
    private SelectInputDate campoDataEmissao = new SelectInputDate();

    public SelectInputDate getCampoDataEmissao() {
        return campoDataEmissao;
    }

    public void setCampoDataEmissao(SelectInputDate sid) {
        this.campoDataEmissao = sid;
    }
    private SelectInputDate compoDataEntrada = new SelectInputDate();

    public SelectInputDate getCompoDataEntrada() {
        return compoDataEntrada;
    }

    public void setCompoDataEntrada(SelectInputDate sid) {
        this.compoDataEntrada = sid;
    }
    private HtmlSelectOneMenu campoQtdadeParcelas = new HtmlSelectOneMenu();

    public HtmlSelectOneMenu getCampoQtdadeParcelas() {
        return campoQtdadeParcelas;
    }

    public void setCampoQtdadeParcelas(HtmlSelectOneMenu hsom) {
        this.campoQtdadeParcelas = hsom;
    }
    private HtmlCommandButton btn_calcular = new HtmlCommandButton();

    public HtmlCommandButton getBtn_calcular() {
        return btn_calcular;
    }

    public void setBtn_calcular(HtmlCommandButton hcb) {
        this.btn_calcular = hcb;
    }
    private HtmlInputText campoPorcentagemDesconto = new HtmlInputText();

    public HtmlInputText getCampoPorcentagemDesconto() {
        return campoPorcentagemDesconto;
    }

    public void setCampoPorcentagemDesconto(HtmlInputText hit) {
        this.campoPorcentagemDesconto = hit;
    }
    private HtmlInputText campoValorDesconto = new HtmlInputText();

    public HtmlInputText getCampoValorDesconto() {
        return campoValorDesconto;
    }

    public void setCampoValorDesconto(HtmlInputText hit) {
        this.campoValorDesconto = hit;
    }
    private HtmlInputText campoPorcentagemEmbalagem = new HtmlInputText();

    public HtmlInputText getCampoPorcentagemEmbalagem() {
        return campoPorcentagemEmbalagem;
    }

    public void setCampoPorcentagemEmbalagem(HtmlInputText hit) {
        this.campoPorcentagemEmbalagem = hit;
    }
    private HtmlInputText campoValorEmbalagem = new HtmlInputText();

    public HtmlInputText getCampoValorEmbalagem() {
        return campoValorEmbalagem;
    }

    public void setCampoValorEmbalagem(HtmlInputText hit) {
        this.campoValorEmbalagem = hit;
    }
    private HtmlInputText campoPorcentagemFrete = new HtmlInputText();

    public HtmlInputText getCampoPorcentagemFrete() {
        return campoPorcentagemFrete;
    }

    public void setCampoPorcentagemFrete(HtmlInputText hit) {
        this.campoPorcentagemFrete = hit;
    }
    private HtmlInputText campoValorFrete = new HtmlInputText();

    public HtmlInputText getCampoValorFrete() {
        return campoValorFrete;
    }

    public void setCampoValorFrete(HtmlInputText hit) {
        this.campoValorFrete = hit;
    }
    private HtmlInputText campoPorcentagemImp = new HtmlInputText();

    public HtmlInputText getCampoPorcentagemImp() {
        return campoPorcentagemImp;
    }

    public void setCampoPorcentagemImp(HtmlInputText hit) {
        this.campoPorcentagemImp = hit;
    }
    private HtmlInputText campoValorImp = new HtmlInputText();

    public HtmlInputText getCampoValorImp() {
        return campoValorImp;
    }

    public void setCampoValorImp(HtmlInputText hit) {
        this.campoValorImp = hit;
    }
    private HtmlPanelGroup painelPrincipal = new HtmlPanelGroup();

    public HtmlPanelGroup getPainelPrincipal() {
        return painelPrincipal;
    }

    public void setPainelPrincipal(HtmlPanelGroup hpg) {
        this.painelPrincipal = hpg;
    }
    private HtmlInputText campoValorTProduto = new HtmlInputText();

    public HtmlInputText getCampoValorTProduto() {
        return campoValorTProduto;
    }

    public void setCampoValorTProduto(HtmlInputText hit) {
        this.campoValorTProduto = hit;
    }
    private HtmlInputText campoValorTotalNota = new HtmlInputText();

    public HtmlInputText getCampoValorTotalNota() {
        return campoValorTotalNota;
    }

    public void setCampoValorTotalNota(HtmlInputText hit) {
        this.campoValorTotalNota = hit;
    }
    private HtmlCommandButton btn_cadastrar = new HtmlCommandButton();

    public HtmlCommandButton getBtn_cadastrar() {
        return btn_cadastrar;
    }

    public void setBtn_cadastrar(HtmlCommandButton hcb) {
        this.btn_cadastrar = hcb;
    }
    //botao selecionado fornecedor
    private DefaultSelectedData defaultSelectedData1 = new DefaultSelectedData();

    public DefaultSelectedData getDefaultSelectedData1() {
        return defaultSelectedData1;
    }

    public void setDefaultSelectedData1(DefaultSelectedData dsd) {
        this.defaultSelectedData1 = dsd;
    }//fim botao selecionado fornecedor
    //botao fornecedor
    private DefaultSelectionItems selectOneMenu1DefaultItems1 = new DefaultSelectionItems();

    public DefaultSelectionItems getSelectOneMenu1DefaultItems1() {
        return selectOneMenu1DefaultItems1;
    }

    public void setSelectOneMenu1DefaultItems1(DefaultSelectionItems dsi) {
        this.selectOneMenu1DefaultItems1 = dsi;
    }//fim botao fornecedor
    private DefaultSelectItemsArray campoQtdadeParcelasDefaultItems = new DefaultSelectItemsArray();

    public DefaultSelectItemsArray getCampoQtdadeParcelasDefaultItems() {
        return campoQtdadeParcelasDefaultItems;
    }

    public void setCampoQtdadeParcelasDefaultItems(DefaultSelectItemsArray dsia) {
        this.campoQtdadeParcelasDefaultItems = dsia;
    }
    private HtmlSelectOneMenu selectOneMenuFornecedor = new HtmlSelectOneMenu();

    public HtmlSelectOneMenu getSelectOneMenuFornecedor() {
        return selectOneMenuFornecedor;
    }

    public void setSelectOneMenuFornecedor(HtmlSelectOneMenu hsom) {
        this.selectOneMenuFornecedor = hsom;
    }
    private HtmlInputText campoNumeroNota2 = new HtmlInputText();

    public HtmlInputText getCampoNumeroNota2() {
        return campoNumeroNota2;
    }

    public void setCampoNumeroNota2(HtmlInputText hit) {
        this.campoNumeroNota2 = hit;
    }
    private PopupBean panelPopup1Bean = new PopupBean();

    public PopupBean getPanelPopup1Bean() {
        return panelPopup1Bean;
    }

    public void setPanelPopup1Bean(PopupBean pb) {
        this.panelPopup1Bean = pb;
    }
    private HtmlCommandButton btnPopUp1 = new HtmlCommandButton();

    public HtmlCommandButton getBtnPopUp1() {
        return btnPopUp1;
    }

    public void setBtnPopUp1(HtmlCommandButton hcb) {
        this.btnPopUp1 = hcb;
    }
    private HtmlCommandButton btnPopUp2 = new HtmlCommandButton();

    public HtmlCommandButton getBtnPopUp2() {
        return btnPopUp2;
    }

    public void setBtnPopUp2(HtmlCommandButton hcb) {
        this.btnPopUp2 = hcb;
    }
    private HtmlOutputText textoPopUp = new HtmlOutputText();

    public HtmlOutputText getTextoPopUp() {
        return textoPopUp;
    }

    public void setTextoPopUp(HtmlOutputText hot) {
        this.textoPopUp = hot;
    }
    private PanelPopup panelPopup = new PanelPopup();

    public PanelPopup getPanelPopup() {
        return panelPopup;
    }

    public void setPanelPopup(PanelPopup pp) {
        this.panelPopup = pp;
    }
    private HtmlInputText campoValorTotalProdutos = new HtmlInputText();

    public HtmlInputText getCampoValorTotalProdutos() {
        return campoValorTotalProdutos;
    }

    public void setCampoValorTotalProdutos(HtmlInputText hit) {
        this.campoValorTotalProdutos = hit;
    }
    private PanelTab aba02 = new PanelTab();

    public PanelTab getAba02() {
        return aba02;
    }

    public void setAba02(PanelTab pt) {
        this.aba02 = pt;
    }
    private PanelTab aba01 = new PanelTab();

    public PanelTab getAba01() {
        return aba01;
    }

    public void setAba01(PanelTab pt) {
        this.aba01 = pt;
    }
    private DefaultSelectedData selectBooleanCheckbox1Bean = new DefaultSelectedData();

    public DefaultSelectedData getSelectBooleanCheckbox1Bean() {
        return selectBooleanCheckbox1Bean;
    }

    public void setSelectBooleanCheckbox1Bean(DefaultSelectedData dsd) {
        this.selectBooleanCheckbox1Bean = dsd;
    }
    private DefaultSelectedData defaultSelectedData3 = new DefaultSelectedData();

    public DefaultSelectedData getDefaultSelectedData3() {
        return defaultSelectedData3;
    }

    public void setDefaultSelectedData3(DefaultSelectedData dsd) {
        this.defaultSelectedData3 = dsd;
    }
    private DefaultSelectedData defaultSelectedData4 = new DefaultSelectedData();

    public DefaultSelectedData getDefaultSelectedData4() {
        return defaultSelectedData4;
    }

    public void setDefaultSelectedData4(DefaultSelectedData dsd) {
        this.defaultSelectedData4 = dsd;
    }
    private DefaultSelectedData defaultSelectedData5 = new DefaultSelectedData();

    public DefaultSelectedData getDefaultSelectedData5() {
        return defaultSelectedData5;
    }

    public void setDefaultSelectedData5(DefaultSelectedData dsd) {
        this.defaultSelectedData5 = dsd;
    }
    private DefaultSelectedData defaultSelectedData6 = new DefaultSelectedData();

    public DefaultSelectedData getDefaultSelectedData6() {
        return defaultSelectedData6;
    }

    public void setDefaultSelectedData6(DefaultSelectedData dsd) {
        this.defaultSelectedData6 = dsd;
    }
    private DefaultSelectedData selectBooleanCheckbox2Bean = new DefaultSelectedData();

    public DefaultSelectedData getSelectBooleanCheckbox2Bean() {
        return selectBooleanCheckbox2Bean;
    }

    public void setSelectBooleanCheckbox2Bean(DefaultSelectedData dsd) {
        this.selectBooleanCheckbox2Bean = dsd;
    }
    private DefaultSelectedData selectBooleanCheckbox3Bean = new DefaultSelectedData();

    public DefaultSelectedData getSelectBooleanCheckbox3Bean() {
        return selectBooleanCheckbox3Bean;
    }

    public void setSelectBooleanCheckbox3Bean(DefaultSelectedData dsd) {
        this.selectBooleanCheckbox3Bean = dsd;
    }
    private DefaultSelectedData selectBooleanCheckbox4Bean = new DefaultSelectedData();

    public DefaultSelectedData getSelectBooleanCheckbox4Bean() {
        return selectBooleanCheckbox4Bean;
    }

    public void setSelectBooleanCheckbox4Bean(DefaultSelectedData dsd) {
        this.selectBooleanCheckbox4Bean = dsd;
    }
    private HtmlSelectBooleanCheckbox ckeckboxPorcentEmbalagem = new HtmlSelectBooleanCheckbox();

    public HtmlSelectBooleanCheckbox getCkeckboxPorcentEmbalagem() {
        return ckeckboxPorcentEmbalagem;
    }

    public void setCkeckboxPorcentEmbalagem(HtmlSelectBooleanCheckbox hsbc) {
        this.ckeckboxPorcentEmbalagem = hsbc;
    }
    private HtmlSelectBooleanCheckbox ckeckboxValorEmbalagem = new HtmlSelectBooleanCheckbox();

    public HtmlSelectBooleanCheckbox getCkeckboxValorEmbalagem() {
        return ckeckboxValorEmbalagem;
    }

    public void setCkeckboxValorEmbalagem(HtmlSelectBooleanCheckbox hsbc) {
        this.ckeckboxValorEmbalagem = hsbc;
    }
    private HtmlSelectBooleanCheckbox checkboxPorcentImposto = new HtmlSelectBooleanCheckbox();

    public HtmlSelectBooleanCheckbox getCheckboxPorcentImposto() {
        return checkboxPorcentImposto;
    }

    public void setCheckboxPorcentImposto(HtmlSelectBooleanCheckbox hsbc) {
        this.checkboxPorcentImposto = hsbc;
    }
    private HtmlSelectBooleanCheckbox checkboxValorImposto = new HtmlSelectBooleanCheckbox();

    public HtmlSelectBooleanCheckbox getCheckboxValorImposto() {
        return checkboxValorImposto;
    }

    public void setCheckboxValorImposto(HtmlSelectBooleanCheckbox hsbc) {
        this.checkboxValorImposto = hsbc;
    }
    private PanelLayout conteudoAbaNotaFisca2 = new PanelLayout();

    public PanelLayout getConteudoAbaNotaFisca2() {
        return conteudoAbaNotaFisca2;
    }

    public void setConteudoAbaNotaFisca2(PanelLayout pl) {
        this.conteudoAbaNotaFisca2 = pl;
    }
    private HtmlSelectBooleanCheckbox checkboxPorcentFrete = new HtmlSelectBooleanCheckbox();

    public HtmlSelectBooleanCheckbox getCheckboxPorcentFrete() {
        return checkboxPorcentFrete;
    }

    public void setCheckboxPorcentFrete(HtmlSelectBooleanCheckbox hsbc) {
        this.checkboxPorcentFrete = hsbc;
    }
    private HtmlSelectBooleanCheckbox checkboxValorDesconto = new HtmlSelectBooleanCheckbox();

    public HtmlSelectBooleanCheckbox getCheckboxValorDesconto() {
        return checkboxValorDesconto;
    }

    public void setCheckboxValorDesconto(HtmlSelectBooleanCheckbox hsbc) {
        this.checkboxValorDesconto = hsbc;
    }
    private HtmlSelectBooleanCheckbox checkboxPorcentDesconto = new HtmlSelectBooleanCheckbox();

    public HtmlSelectBooleanCheckbox getCheckboxPorcentDesconto() {
        return checkboxPorcentDesconto;
    }

    public void setCheckboxPorcentDesconto(HtmlSelectBooleanCheckbox hsbc) {
        this.checkboxPorcentDesconto = hsbc;
    }
    private HtmlSelectBooleanCheckbox checkboxValorFrete = new HtmlSelectBooleanCheckbox();

    public HtmlSelectBooleanCheckbox getCheckboxValorFrete() {
        return checkboxValorFrete;
    }

    public void setCheckboxValorFrete(HtmlSelectBooleanCheckbox hsbc) {
        this.checkboxValorFrete = hsbc;
    }
    private DoubleConverter doubleConverter1 = new DoubleConverter();

    public DoubleConverter getDoubleConverter1() {
        return doubleConverter1;
    }

    public void setDoubleConverter1(DoubleConverter dc) {
        this.doubleConverter1 = dc;
    }
    private SqlDateConverter sqlDateConverter1 = new SqlDateConverter();

    public SqlDateConverter getSqlDateConverter1() {
        return sqlDateConverter1;
    }

    public void setSqlDateConverter1(SqlDateConverter sdc) {
        this.sqlDateConverter1 = sdc;
    }

    // </editor-fold>
    public CadastrarNotaFiscal() {
    }

    @Override
    public void init() {
        super.init();
        this.inicializarCampos();
        this.limparCampos();
        // <editor-fold defaultstate="collapsed" desc="Managed Component Initialization">
        // Initialize automatically managed components
        // *Note* - this logic should NOT be modified
        try {
            _init();
        } catch (Exception e) {
            log("PaginaTeste Initialization Failure", e);
            throw e instanceof FacesException ? (FacesException) e : new FacesException(e);
        }

    // </editor-fold>
    }

     public void inicializarCampos(){

        //limpa as listas que preenche a tabela de itens
        this.getListaProdutos().removeAll(this.getListaProdutos());
        this.getListaItensNfentrada().removeAll(this.getListaItensNfentrada());
        this.getListaDecoradora().removeAll(this.getListaDecoradora());

       
       
        //preenche combobox quantidade parcelas
        campoQtdadeParcelasDefaultItems.clear();
        campoQtdadeParcelasDefaultItems.add(new SelectItem(1, "A vista"));
        campoQtdadeParcelasDefaultItems.add(new SelectItem(2, "2x"));
        campoQtdadeParcelasDefaultItems.add(new SelectItem(3, "3x"));
         //controle dos botoes da paginacao da tabela de itens
        this.controlaBotoesPaginacaoTabelaItens(0);

        panelPopup.setRendered(false);
        dataTable1Model.setWrappedData(null);
        setarCamposPainelCalculos(true);
        

        //mostra o valor do id correto para inserção no banco
        SessionFacadeBuscarImplements facadeBusca = new SessionFacadeBuscarImplements();
        campoIdNota.setValue(facadeBusca.totalDeRegistros(NFEntradaVO.class) + 1);

        //seta campo valor total produto pra readonly
        campoValorTProduto.setReadonly(true);
        campoValorTotalProdutos.setValue(0);

        //desabilita aba 02/habilita01/ coloca na aba 01
        aba02.setDisabled(true);
        aba01.setDisabled(false);
        painelAbasNotaFiscal.setSelectedIndex(0);
        selectOneMenu1DefaultItems1.clear();
        //inicializa valores do combobox fornecedor
        inicializarCampoFornecedor();
    }

    public void inicializarCampoFornecedor() {
         this.setSelectOneMenu1DefaultItems1(new DecoradorInicializaCombos().inicializarCampoFornecedor());
    }

    public void campoABuscar_processValueChange(ValueChangeEvent vce) {
        try {
            item = new SessionFacadeBuscarImplements().consultaSelectInputText(3, "descricao", campoABuscar.getValue().toString(), ProdutoVO.class);
        } catch (NullPointerException e) {
            System.err.print("Erro auto complete:" + e.getMessage());
        }
    }

    public String campoABuscar_action() {
        SessionFacadeBuscarImplements sessionBusca = new SessionFacadeBuscarImplements();
        Iterator it_produtos = sessionBusca.buscaPorNome("descricao", campoABuscar.getValue().toString(), ProdutoVO.class).iterator();
        ProdutoVO produto = (ProdutoVO) it_produtos.next();
        System.out.println(produto.getPrecoVenda());
        campoValorUnitario.setValue(produto.getPrecoVenda());
        System.out.println(produto.getPrecoVenda());
        campoValorUnitario.setEffect(new Highlight());
        return null;
    }

    @SuppressWarnings("static-access")
    public String tabelaItens_firstPageAction() {
        dataTable1Model.setWrappedData(this.getPaginacaoTabelaItens().firstPage());
        tabelaItensFooterFirstButton.setDisabled(true);
        tabelaItensFooterPreviousButton.setDisabled(true);
        if (this.getPaginacaoTabelaItens().getTotalPaginas() > 1) {
            tabelaItensFooterNextButton.setDisabled(false);
            tabelaItensFooterLastButton.setDisabled(false);
        }
        return null;
    }

    @SuppressWarnings("static-access")
    public String tabelaItens_previousPageAction() {
        dataTable1Model.setWrappedData(this.getPaginacaoTabelaItens().previousPage());
        if (this.getPaginacaoTabelaItens().getNumeroDaPagina() == 1) {
            tabelaItensFooterNextButton.setDisabled(true);
            tabelaItensFooterFirstButton.setDisabled(true);
            tabelaItensFooterPreviousButton.setDisabled(true);
        }
        if (this.getPaginacaoTabelaItens().getTotalPaginas() > 1) {
            tabelaItensFooterNextButton.setDisabled(false);
        }
        if (this.getPaginacaoTabelaItens().getNumeroDaPagina() >= 2) {
            tabelaItensFooterFirstButton.setDisabled(false);
        }
        return null;
    }

    @SuppressWarnings("static-access")
    public String tabelaItens_nextPageAction() {
        dataTable1Model.setWrappedData(this.getPaginacaoTabelaItens().nextPage());
        tabelaItensFooterPreviousButton.setDisabled(false);
        if (this.getPaginacaoTabelaItens().getTotalPaginas() == this.getPaginacaoTabelaItens().getNumeroDaPagina()) {
            tabelaItensFooterNextButton.setDisabled(true);
            tabelaItensFooterLastButton.setDisabled(true);
        }
        if (this.getPaginacaoTabelaItens().getNumeroDaPagina() >= 2) {
            tabelaItensFooterFirstButton.setDisabled(false);
        }
        return null;
    }

    @SuppressWarnings("static-access")
    public String tabelaItens_lastPageAction() {
        dataTable1Model.setWrappedData(this.getPaginacaoTabelaItens().lastPage());
        if (this.getPaginacaoTabelaItens().getTotalPaginas() == this.getPaginacaoTabelaItens().getNumeroDaPagina()) {
            tabelaItensFooterLastButton.setDisabled(true);
            tabelaItensFooterNextButton.setDisabled(true);
            tabelaItensFooterPreviousButton.setDisabled(false);
            tabelaItensFooterFirstButton.setDisabled(false);
        }
        if (this.getPaginacaoTabelaItens().getNumeroDaPagina() >= 2) {
            tabelaItensFooterFirstButton.setDisabled(false);
        }
        return null;
    }

    public void controlaPopup(boolean renderedPopup,String textoPoup,boolean btn1Rendered, boolean btn2Rendered,
            String textobtn1, String textobtn2){

        panelPopup.setRendered(renderedPopup);
        textoPopUp.setValue(textoPoup);
        btnPopUp1.setValue(textobtn1);
        btnPopUp1.setRendered(btn1Rendered);
        btnPopUp2.setRendered(btn2Rendered);
        btnPopUp2.setValue(textobtn2);
    }

    @SuppressWarnings("static-access")
    public String buttonAdicionarItem_action() {
        if (!campoABuscar.getValue().toString().equals("")){
        try {
            if(campoQuantidade.getValue().toString().equals("")){
                    campoQuantidade.setValue(1);
                    buttonAdicionarItem_action();
                    limparCamposItem();
            }
            else{
            //variaveis de controle do metodo
            int indiceElementoRepetido = 0;
            boolean temElementoRepetido = false;

            //busca o produto no banco
            Iterator it_produtos = new SessionFacadeBuscarImplements().buscaPorNome("descricao", campoABuscar.getValue().toString(), ProdutoVO.class).iterator();
            ProdutoVO produto = (ProdutoVO) it_produtos.next();
            //se a lista for vazia
            if (this.getListaProdutos().isEmpty()) {
                //cria um decorador e seta seus atributos
                DecoradorNF decorador = new DecoradorNF();
                decorador.setCodProduto(produto.getCodProduto());
                decorador.setDescricaoProduto(produto.getDescricao());
                decorador.setQuantidade(Double.parseDouble(campoQuantidade.getValue().toString()));
                decorador.setValorUnitario(Double.parseDouble(campoValorUnitario.getValue().toString()));
                decorador.setTotal();
                this.getListaDecoradora().add(decorador);
                this.getListaProdutos().add(produto);
            } else {
                int tamanhoLista = this.getListaProdutos().size();
                //verifica se jÃ¡ hÃ¡ o produto na lista
                for (int i = 0; i < tamanhoLista; i++) {
                    if (this.getListaProdutos().get(i).getCodProduto() == produto.getCodProduto()) {
                        indiceElementoRepetido = i; //guarda a posicao do elemento repetido
                        temElementoRepetido = true; ///variavel para controle da logica
                    }//fim if
                }//fim for
                //se ja existe o elemento na lista
                if (temElementoRepetido) {
                    //modifica os atributos
                    DecoradorNF decorador = this.getListaDecoradora().get(indiceElementoRepetido);
                    double novaQuantidade = Double.parseDouble(campoQuantidade.getValue().toString());
                    double quantidadeAtual = decorador.getQuantidade();
                    decorador.setQuantidade(quantidadeAtual + novaQuantidade);
                    decorador.setTotal();
                    //remove o decorador com dados nÃ£o atualizados
                    this.getListaDecoradora().remove(indiceElementoRepetido);
                    //adiciona o decorador modificado na lista
                    this.getListaDecoradora().add(indiceElementoRepetido, decorador);
                } else {//se nÃ£o houver elemento repetido
                    DecoradorNF decorador = new DecoradorNF();
                    decorador.setCodProduto(produto.getCodProduto());
                    decorador.setDescricaoProduto(produto.getDescricao());
                    decorador.setQuantidade(Double.parseDouble(campoQuantidade.getValue().toString()));
                    decorador.setValorUnitario(Double.parseDouble(campoValorUnitario.getValue().toString()));
                    decorador.setTotal();
                    this.getListaDecoradora().add(decorador);
                    this.getListaProdutos().add(produto);
                }//fim else
            }//fim else
            //calcula valor total produtos
            campoValorTotalProdutos.setValue((new NFEntradaBO().calculaTotalProduto(this.getListaDecoradora())));
            //preenche a tabela
            dataTable1Model.setWrappedData(this.getListaDecoradora());
            this.setPaginacaoTabelaItens(new PaginacaoListaCincoEmCinco(this.getListaDecoradora()));
            //controle dos botoes da paginacao da tabela de itens
            this.controlaBotoesPaginacaoTabelaItens(this.getListaDecoradora().size());
            //limpa os campos
            this.limparCamposItem();
            }
        }catch(Exception ex){
            System.err.println(ex.getMessage());
            ex.getStackTrace();
        } finally {
            return null;
        }
        }else
            controlaPopup(true, "Selecione um Produto", false, true, "", "Ok");
        return null;
    }//fim add  

    //meotodo para controle dos botoes da paginacao
    public void controlaBotoesPaginacaoTabelaItens(int tamanhoLista) {
        if ((tamanhoLista == 0) || (tamanhoLista <= 5)) {
            //disabilita os botoes da tabela de itens
            tabelaItensFooterFirstButton.setDisabled(true);
            tabelaItensFooterPreviousButton.setDisabled(true);
            tabelaItensFooterNextButton.setDisabled(true);
            tabelaItensFooterLastButton.setDisabled(true);
        }
        if (tamanhoLista > 5) {//se a lista tiver mais que uma pagina
            tabelaItensFooterNextButton.setDisabled(false);
            tabelaItensFooterLastButton.setDisabled(false);
        }
    }

    public static PaginacaoListaCincoEmCinco getPaginacaoTabelaItens() {
        return paginacaoTabelaItens;
    }

    public static void setPaginacaoTabelaItens(PaginacaoListaCincoEmCinco paginacaoTabelaItens) {
        CadastrarNotaFiscal.paginacaoTabelaItens = paginacaoTabelaItens;
    }

    public String linkFinalizarNota_action() {
       if(this.tabelaItens.getRowCount()!=-1&&this.tabelaItens.getRowCount()!=0){
            CadastrarNotaFiscal.setNfEntradaBo(new NFEntradaBO());
            this.setListaItensNfentrada(this.getNfEntradaBo().finalizaNota(this.getListaDecoradora()));
            //seta o input valor total nota
            campoValorTProduto.setValue((this.getNfEntradaBo().getValorTotalProdutos()));
            campoValorTotalNota.setValue((this.getNfEntradaBo().getValorTotalProdutos()));
            //habilita/desabilita abas
            aba02.setDisabled(false);
            aba01.setDisabled(true);
            painelAbasNotaFiscal.setSelectedIndex(1);
       }
       else{
            controlaPopup(true, "Preencha a lista de Itens antes de Finalizar a nota", false, true, "", "Ok");
       }
       return null;
    }//fim link finalizar nota action

    //botao remover item da tabela
    @SuppressWarnings("static-access")
    public String buttonRemoverItem_action() {
        int indiceRemover = 0;
        if(this.getPaginacaoTabelaItens().getNumeroDaPagina()==1){
              indiceRemover = tabelaItens.getRowIndex();
        }else{
            indiceRemover = this.getPaginacaoTabelaItens().getFirstResult()+indiceRemover;
            System.out.println(indiceRemover);
        }    
        this.getListaDecoradora().remove(indiceRemover);
        this.getListaProdutos().remove(indiceRemover);
        dataTable1Model.setWrappedData(this.getListaDecoradora());
        //controle da paginacao apos remocao
        this.setPaginacaoTabelaItens(new PaginacaoListaCincoEmCinco(this.getListaDecoradora()));
        //controle dos botoes da paginacao da tabela de itens
        this.controlaBotoesPaginacaoTabelaItens(this.getListaDecoradora().size());
        //calcula valor total produtos
        campoValorTotalProdutos.setValue((new NFEntradaBO().calculaTotalProduto(this.getListaDecoradora())));
        this.limparCamposItem();
        return null;
    }

    public void limparCamposItem() {
        campoABuscar.resetValue();
        campoValorUnitario.resetValue();
        campoQuantidade.resetValue();

    }

    public void limparCampos() {
        campoDataEmissao.resetValue();
        compoDataEntrada.resetValue();
        campoNumeroNota2.resetValue();
        campoQtdadeParcelas.resetValue();
        campoPorcentagemImp.setValue(0.0);
        campoPorcentagemFrete.setValue(0.0);
        campoPorcentagemDesconto.setValue(0.0);
        campoPorcentagemEmbalagem.setValue(0.0);
        campoValorDesconto.setValue(0.0);
        campoValorFrete.setValue(0.0);
        campoValorEmbalagem.setValue(0.0);
        campoValorImp.setValue(0.0);
        campoValorTProduto.resetValue();
        campoValorTotalNota.resetValue();
        checkboxPorcentDesconto.setSelected(false);
        checkboxPorcentFrete.setSelected(false);
        checkboxPorcentImposto.setSelected(false);
        checkboxValorDesconto.setSelected(false);
        checkboxValorFrete.setSelected(false);
        checkboxValorImposto.setSelected(false);
        campoValorTotalProdutos.resetValue();
        listaDecoradora.clear();

    }

   
    //gets e setters

    public static NFEntradaBO getNfEntradaBo() {
        return nfEntradaBo;
    }

    public static void setNfEntradaBo(NFEntradaBO nfEntradaBo) {
        CadastrarNotaFiscal.nfEntradaBo = nfEntradaBo;
    }

    public List<DecoradorNF> getListaDecoradora() {
        return listaDecoradora;
    }

    public void setListaDecoradora(List<DecoradorNF> listaDecoradora) {
        CadastrarNotaFiscal.listaDecoradora = listaDecoradora;
    }

    public List<ItensNFEntradaVO> getListaItensNfentrada() {
        return listaItensNfentrada;
    }

    public void setListaItensNfentrada(List<ItensNFEntradaVO> listaItensNfentrada) {
        CadastrarNotaFiscal.listaItensNfentrada = listaItensNfentrada;
    }

    public String btn_cadastrar_action() {
        valida.verificaCampoVazio(campoNumeroNota2);
        
        if(valida.verificaCampoVazio(campoNumeroNota2))
            controlaPopup(true,"Campos Obrigatórios!",false,true,"","Ok");
        else
            controlaPopup(true,"Deseja confirmar Cadastro?",true,true,"Sim","Não");
        
        return null;
    }

    public double parserDouble(Object o) {
        return Double.parseDouble(o.toString());
    }

    public int parserInt(Object o) {
        return Integer.parseInt(o.toString());
    }

    public static List<ProdutoVO> getListaProdutos() {
        return listaProdutos;
    }

    public static void setListaProdutos(List<ProdutoVO> listaProdutos) {
        CadastrarNotaFiscal.listaProdutos = listaProdutos;
    }

    @SuppressWarnings("static-access")
    public String btnPopUp1_action() {
        SessionFacadeCadastrarImplements facadeCadastrar = new SessionFacadeCadastrarImplements();
        Date dataEmissao = (Date) (Object) campoDataEmissao.getValue();
        Date dataEntrada = (Date) (Object) compoDataEntrada.getValue();
        try {
            facadeCadastrar.cadastrarNFEntrada(this.parserInt(campoIdNota.getValue()), dataEntrada, dataEmissao, parserInt(campoNumeroNota2.getValue()), parserInt(campoQtdadeParcelas.getValue()),
                    this.parserDouble(campoPorcentagemImp.getValue()), this.parserDouble(campoPorcentagemFrete.getValue()), this.parserDouble(campoPorcentagemDesconto.getValue()), this.parserDouble(campoPorcentagemEmbalagem.getValue()),
                    Double.parseDouble(campoValorTotalProdutos.getValue().toString()), Double.parseDouble(campoValorTotalNota.getValue().toString()), Integer.parseInt(selectOneMenuFornecedor.getValue().toString()), this.getListaItensNfentrada(), this.getListaProdutos());
            controlaPopup(true, "Nota Fiscal cadastrada com sucesso!", false, true, "", "OK");
            painelAbasNotaFiscal.setSelectedIndex(0);
            limparCampos();
            limparCamposItem();
            
        } catch (Exception e) {
            panelPopup.setRendered(true);
            textoPopUp.setValue("Erro:" + e.getMessage() + "caused by: " + e.getStackTrace());
            btnPopUp2.setValue("OK");
            btnPopUp1.setRendered(false);
            System.err.println("Erro:" + e.getMessage() + "caused by: " + e.getStackTrace());
        }
        return null;
    }

    public String btnPopUp2_action() {
        panelPopup.setRendered(false);

        return null;
    }
    @Override
    public void preprocess() {
    }
    @Override
    public void prerender() {
    }
    @Override
    public void destroy() {
    }
    protected SessionBean1 getview$SessionBean1() {
        return (SessionBean1) getBean("view$SessionBean1");
    }

    protected ApplicationBean1 getview$ApplicationBean1() {
        return (ApplicationBean1) getBean("view$ApplicationBean1");
    }

    protected RequestBean1 getview$RequestBean1() {
        return (RequestBean1) getBean("view$RequestBean1");
    }

    public DefaultSelectionItems getItem() {
        return item;
    }

    public void setItem(DefaultSelectionItems item) {
        this.item = item;
    }

    public void ckeckboxPorcentEmbalagem_processValueChange(ValueChangeEvent vce) {
        if(ckeckboxPorcentEmbalagem.isSelected()){
            campoPorcentagemEmbalagem.setDisabled(false);
            campoValorEmbalagem.setValue(0.00);
            campoPorcentagemEmbalagem.setValue(0.00);
            ckeckboxValorEmbalagem.setDisabled(true);
        }else{
            campoPorcentagemEmbalagem.setDisabled(true);
            ckeckboxValorEmbalagem.setDisabled(false);
        }
    }

    public void ckeckboxValorEmbalagem_processValueChange(ValueChangeEvent vce) {
        if(ckeckboxValorEmbalagem.isSelected()){
            campoValorEmbalagem.setDisabled(false);
            campoPorcentagemEmbalagem.setValue(0.00);
            campoValorEmbalagem.setValue(0.00);
            ckeckboxPorcentEmbalagem.setDisabled(true);
        }else{
            campoValorEmbalagem.setDisabled(true);
            ckeckboxPorcentEmbalagem.setDisabled(false);
        }
    }

    public void checkboxPorcentImposto_processValueChange(ValueChangeEvent vce) {
        if(checkboxPorcentImposto.isSelected()){
            campoPorcentagemImp.setDisabled(false);
            campoValorImp.setValue(0.00);
            campoPorcentagemImp.setValue(0.00);
            checkboxValorImposto.setDisabled(true);
        }else{
            campoPorcentagemImp.setDisabled(true);
            checkboxValorImposto.setDisabled(false);
        }
    }

    public void checkboxValorImposto_processValueChange(ValueChangeEvent vce) {
        if(checkboxValorImposto.isSelected()){
            campoValorImp.setDisabled(false);
            campoPorcentagemImp.setValue(0.00);
            campoValorImp.setValue(0.00);
            checkboxPorcentImposto.setDisabled(true);
        }else{
            campoValorImp.setDisabled(true);
            checkboxPorcentImposto.setDisabled(false);
        }
    }

    public void checkboxPorcentDesconto_processValueChange(ValueChangeEvent vce) {
        if(checkboxPorcentDesconto.isSelected()){
            campoPorcentagemDesconto.setDisabled(false);
            campoValorDesconto.setValue(0.00);
            campoPorcentagemDesconto.setValue(0.00);
            checkboxValorDesconto.setDisabled(true);
        }else{
            campoPorcentagemDesconto.setDisabled(true);
            checkboxValorDesconto.setDisabled(false);
        }
    }

    public void checkboxValorDesconto_processValueChange(ValueChangeEvent vce) {
         if(checkboxValorDesconto.isSelected()){
            campoValorDesconto.setDisabled(false);
            campoPorcentagemDesconto.setValue(0.00);
            campoValorDesconto.setValue(0.00);
            checkboxPorcentDesconto.setDisabled(true);
        }else{
            campoValorDesconto.setDisabled(true);
            checkboxPorcentDesconto.setDisabled(false);
        }
    }

    public void checkboxPorcentFrete_processValueChange(ValueChangeEvent vce) {
        if(checkboxPorcentFrete.isSelected()){
            campoPorcentagemFrete.setDisabled(false);
            campoValorFrete.setValue(0.00);
            campoPorcentagemFrete.setValue(0.00);
            checkboxValorFrete.setDisabled(true);
        }else{
            campoPorcentagemFrete.setDisabled(true);
            checkboxValorFrete.setDisabled(false);
        }
    }

    public void checkboxValorFrete_processValueChange(ValueChangeEvent vce) {
         if(checkboxValorFrete.isSelected()){
            campoValorFrete.setDisabled(false);
            campoPorcentagemFrete.setValue(0.00);
            campoValorFrete.setValue(0.00);
            checkboxPorcentFrete.setDisabled(true);
        }else{
            campoValorFrete.setDisabled(true);
            checkboxPorcentFrete.setDisabled(false);
        }
    }

   
    
    //calculo de Valores à partir de Porcentagens
    public void campoPorcentagemDesconto_processValueChange(ValueChangeEvent vce) {
        
        finalizaPercentuaisPorcNota(campoPorcentagemDesconto,campoValorTProduto,campoValorDesconto);

    }

    public void campoPorcentagemFrete_processValueChange(ValueChangeEvent vce) {
        finalizaPercentuaisPorcNota(campoPorcentagemFrete,campoValorTProduto,campoValorFrete);
    }

    public void campoPorcentagemEmbalagem_processValueChange(ValueChangeEvent vce) {
        finalizaPercentuaisPorcNota(campoPorcentagemEmbalagem,campoValorTProduto,campoValorEmbalagem);
    }

    public void campoPorcentagemImp_processValueChange(ValueChangeEvent vce) {
        finalizaPercentuaisPorcNota(campoPorcentagemImp,campoValorTProduto,campoValorImp);
    }

    //calculo de Porcentagens à partir de Valores
    public void campoValorDesconto_processValueChange(ValueChangeEvent vce) {
        finalizaPercentuaisValNota(campoValorDesconto,campoValorTProduto,campoPorcentagemDesconto);
    }

    public void campoValorFrete_processValueChange(ValueChangeEvent vce) {
        finalizaPercentuaisValNota(campoValorFrete,campoValorTProduto,campoPorcentagemFrete);
    }

    public void campoValorEmbalagem_processValueChange(ValueChangeEvent vce) {
        finalizaPercentuaisValNota(campoValorEmbalagem,campoValorTProduto,campoPorcentagemEmbalagem);
    }

    public void campoValorImp_processValueChange(ValueChangeEvent vce) {
        finalizaPercentuaisValNota(campoValorImp,campoValorTProduto,campoPorcentagemImp);
    }

     public void setarCamposPainelCalculos(boolean x){
         campoValorFrete.setDisabled(x);
         campoValorEmbalagem.setDisabled(x);
         campoValorDesconto.setDisabled(x);
         campoValorImp.setDisabled(x);
         campoPorcentagemImp.setDisabled(x);
         campoPorcentagemEmbalagem.setDisabled(x);
         campoPorcentagemFrete.setDisabled(x);
         campoPorcentagemDesconto.setDisabled(x);

     }

    public void finalizaPercentuaisPorcNota(HtmlInputText hit1, HtmlInputText hit2,HtmlInputText hit3){
        hit3.setValue(nfEntradaBo.calcularValor(hit1,hit2));

        campoValorTotalNota.setValue(CadastrarNotaFiscal.getNfEntradaBo().calculaTotalNFEntrada(Double.parseDouble(campoValorImp.getValue().toString()), Double.parseDouble(campoValorFrete.getValue().toString()),
            Double.parseDouble(campoValorDesconto.getValue().toString()), Double.parseDouble(campoValorEmbalagem.getValue().toString()),
            CadastrarNotaFiscal.getNfEntradaBo().getValorTotalProdutos()));

    }
    public void finalizaPercentuaisValNota(HtmlInputText hit1, HtmlInputText hit2,HtmlInputText hit3){
        hit3.setValue(nfEntradaBo.calcularPorcentagem(hit1,hit2));

        campoValorTotalNota.setValue(CadastrarNotaFiscal.getNfEntradaBo().calculaTotalNFEntrada(Double.parseDouble(campoValorImp.getValue().toString()), Double.parseDouble(campoValorFrete.getValue().toString()),
            Double.parseDouble(campoValorDesconto.getValue().toString()), Double.parseDouble(campoValorEmbalagem.getValue().toString()),
            CadastrarNotaFiscal.getNfEntradaBo().getValorTotalProdutos()));

    }


    public String btn_voltar_action() {
        return "voltar";
    }

    public String panelLayoutLogo_action() {
        return "voltar";
    }

    public String button1_action() {
        painelAbasNotaFiscal.setSelectedIndex(0);
        aba01.setDisabled(false);
        aba02.setDisabled(true);
        return null;
    }

    public void campoNumeroNota2_processValueChange(ValueChangeEvent vce) {
        List listaNumNota = (new SessionFacadeBuscarImplements().buscarTodosComInativos("numeroNFEntrada", NFEntradaVO.class));
        boolean valido=true;
        NFEntradaVO nfe;
        for(int i=0;i<listaNumNota.size();i++){
            nfe = (NFEntradaVO) listaNumNota.get(i);
            if(nfe.getNumeroNFEntrada()==Integer.parseInt(campoNumeroNota2.getValue().toString())){
                valido = false;
            }
        }
        if(!valido){
            campoNumeroNota2.setValue("");
            controlaPopup(true, "Numero da nota já existe", false, true, "", "Ok");
        }
       
    }



}

